package com.zc.iotDevice.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class ChargeStationPile extends BaseEntity {
    /**
     * 设备编号
     */
    private String deviceId;

    /**
     * 桩名
     */
    private String pileName;

    /**
     * 端口数
     */
    private Integer portNum;

    /**
     * 终端类型
     */
    private String terminalType;

    /**
     * 额定功率(W)
     */
    private BigDecimal ratedPower;

    /**
     * 服务状态
     */
    private String serviceStatus;

    /**
     * 二维码base64/png
     */
    private String qrCode;

    /**
     * 启用状态
     */
    private String status;

    /**
     * 厂商
     */
    private String producer;

    /**
     * 出厂日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date factoryDate;

    /**
     * 运营商编码
     */
    private String operatorCode;

    /**
     * 运营商名称
     */
    private String operatorName;

    /**
     * 场站ID
     */
    private Long stationId;

    /**
     * 安装日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date installTime;

    /**
     * 删除标志
     */
    private String delStatus;

    /**
     * 场站名称
     */
    private String chargeStationName;

    /**
     * 实时功率(W)
     */
    private String realPower;

    /**
     * 实时功率(W)
     */
    private String maxPower;

    /**
     * 子设备（充电枪）
     */
    private List<ChargeStationPort> chargePortList;

    /**
     * 程序版本
     */
    private String procedureVersion;

    /**
     * 网络链接类型
     */
    private String networkLinkType;

    /**
     * 设备状态
     */
    private String deviceState;

    /**
     * 场站编码
     */
    private String stationCode;

    /**
     * 场站名称
     */
    private String stationName;


    private Date createTime;

    private Date updateTime;

    private String equipmentModel;

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getPileName() {
        return pileName;
    }

    public void setPileName(String pileName) {
        this.pileName = pileName;
    }

    public Integer getPortNum() {
        return portNum;
    }

    public void setPortNum(Integer portNum) {
        this.portNum = portNum;
    }

    public String getTerminalType() {
        return terminalType;
    }

    public void setTerminalType(String terminalType) {
        this.terminalType = terminalType;
    }

    public BigDecimal getRatedPower() {
        return ratedPower;
    }

    public void setRatedPower(BigDecimal ratedPower) {
        this.ratedPower = ratedPower;
    }

    public String getServiceStatus() {
        return serviceStatus;
    }

    public void setServiceStatus(String serviceStatus) {
        this.serviceStatus = serviceStatus;
    }

    public String getQrCode() {
        return qrCode;
    }

    public void setQrCode(String qrCode) {
        this.qrCode = qrCode;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getProducer() {
        return producer;
    }

    public void setProducer(String producer) {
        this.producer = producer;
    }

    public Date getFactoryDate() {
        return factoryDate;
    }

    public void setFactoryDate(Date factoryDate) {
        this.factoryDate = factoryDate;
    }

    public String getOperatorCode() {
        return operatorCode;
    }

    public void setOperatorCode(String operatorCode) {
        this.operatorCode = operatorCode;
    }

    public Long getStationId() {
        return stationId;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }

    public Date getInstallTime() {
        return installTime;
    }

    public void setInstallTime(Date installTime) {
        this.installTime = installTime;
    }

    public String getDelStatus() {
        return delStatus;
    }

    public void setDelStatus(String delStatus) {
        this.delStatus = delStatus;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getChargeStationName() {
        return chargeStationName;
    }

    public void setChargeStationName(String chargeStationName) {
        this.chargeStationName = chargeStationName;
    }

    public String getRealPower() {
        return realPower;
    }

    public void setRealPower(String realPower) {
        this.realPower = realPower;
    }

    public List<ChargeStationPort> getChargePortList() {
        return chargePortList;
    }

    public void setChargePortList(List<ChargeStationPort> chargePortList) {
        this.chargePortList = chargePortList;
    }

    public String getProcedureVersion() {
        return procedureVersion;
    }

    public void setProcedureVersion(String procedureVersion) {
        this.procedureVersion = procedureVersion;
    }

    public String getNetworkLinkType() {
        return networkLinkType;
    }

    public void setNetworkLinkType(String networkLinkType) {
        this.networkLinkType = networkLinkType;
    }

    public String getDeviceState() {
        return deviceState;
    }

    public void setDeviceState(String deviceState) {
        this.deviceState = deviceState;
    }

    public String getStationCode() {
        return stationCode;
    }

    public void setStationCode(String stationCode) {
        this.stationCode = stationCode;
    }

    public String getMaxPower() {
        return maxPower;
    }

    public void setMaxPower(String maxPower) {
        this.maxPower = maxPower;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }

    public String getEquipmentModel() {
        return equipmentModel;
    }

    public void setEquipmentModel(String equipmentModel) {
        this.equipmentModel = equipmentModel;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", deviceId=").append(deviceId);
        sb.append(", pileName=").append(pileName);
        sb.append(", portNum=").append(portNum);
        sb.append(", terminalType=").append(terminalType);
        sb.append(", ratedPower=").append(ratedPower);
        sb.append(", serviceStatus=").append(serviceStatus);
        sb.append(", qrCode=").append(qrCode);
        sb.append(", status=").append(status);
        sb.append(", producer=").append(producer);
        sb.append(", factoryDate=").append(factoryDate);
        sb.append(", operatorCode=").append(operatorCode);
        sb.append(", stationId=").append(stationId);
        sb.append(", installTime=").append(installTime);
        sb.append(", delStatus=").append(delStatus);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append("]");
        return sb.toString();
    }
}
